Figure 1 | Map of reefs included in SST analyses specific to reef locations. Reef shape files were obtained from the UN Environment World Conservation Monitoring Centre.
847 reef shape files were obtained from the UN Environment World Conservation Monitoring Centre database (Figure 1) and used to extract SST from both the HadISST and Pathfinder datasets. Each reef polygon was used to extract the weighted mean SST per raster layer (i.e., monthly layers in HadISST or daily in Pathfinder). Several reef polygons could not be used to extract SST as polygons, so the GPS coordinates that made up the points of the polygons were used to extract SST that corresponded to that point. Those SSTs were then averaged across each polygon to result in a single SST mean for the polygon. Thus, each of the 847 reef polygons were assigned a mean SST per sampling frequency of each SST dataset.
A custom cluster was created to extract SST data on a loop from HadISST and Pathfinder raster layers corresponding to each reef polygon. A cluster was used to run the loop in parallel because of the significant time it would take looping through the data one layer at a time. However, for smaller dataset, a simple forloop will also accomplish the same goal (both methods are included in the code).
HadISST reports monthly SSTs at 1\(^\circ\) resolution. According to their website:
“HadISST uses reduced space optimal interpolation applied to SSTs from the Marine Data Bank (mainly ship tracks) and ICOADS through 1981 and a blend of in-situ and adjusted satellite-derived SSTs for 1982-onwards.”
Figure 2 | Mean SST across coral reefs sites at each monthly sampling event (HadISST dataset) from 1870 to 2019. Year is represented by colour of each line, changing from blue to red in more recent years. Maximum SST generally occurs for the region between August and October and the minimum SST occurs between January and March.
Figure 3 | Annual mean SST (HadISST) across reef sites (black line - as calculated using the geom_smooth function fit with a general addative model) and 95% confidence interval (grey ribbon). The blue line represents the annual minimum SST across sites and the red line depicts the maximum SST across sites per year. The grey horizontal dotted line represented the overall mean SST of the full dataset, and the grey verticle line denotes when the subset of data matching the Pathfinder SST begins.
Pathfinder reports SST twice daily (night and day) at 4km resolution via NOAA National Centers for Environmental Information (NCEI). According to their website:
“L3C is generated with measurements combined from a single instrument into a space-time grid. The dataset was computed with data from the AVHRR instruments on board NOAA’s polar orbiting satellite series using an entirely modernized system based on SeaDAS (version 6.4).”
Figure 4 | Mean SST across coral reefs sites at each monthly sampling event (Pathfinder dataset) from 1870 to 2019. Year is represented by colour of each line, changing from blue to red in more recent years. Maximum SST generally occurs for the region between August and October and the minimum SST occurs between January and March.
Figure 5 | Smoothed annual mean SST (Pathfinder) across reef sites (black line) and 95% confidence interval (grey ribbon). The blue line represents the annual minimum SST across sites and the red line depicts the maximum SST across sites per year.
Once pathfinder is complete, I will plot the combined datasets in the same way as the other two figures (see Figures 2 and 3 for examples).
A simple linear model was applied to each grid through time using a forloop to calculate the slope of SST change. Plots below are adjusted to show slope of \(^\circ\)C per decade for each timespan. Additionally, the HadISST dataset was subset to to include the same time range available for Pathfinder for comparison between the two datasets.
Figure 6 | Change in SST (\(^\circ\)C / decade) over the timespand of the HadISST dataset (1870 - 2019) depicted by colour. The average temperature change for the entire region is 0.05 (\(\pm\) 0.022).
Figure 7 | Change in SST (\(^\circ\)C / decade) over the subset timespand of the HadISST dataset (subset: 1981 - 2019) depicted by colour. The average temperature change for the entire region is 0.17 (\(\pm\) 0.088).
Figure 8 | Change in SST (\(^\circ\)C / decade) over the timespand of the Pathfinder dataset (1981 - 2019) depicted by colour. The average temperature change for the entire region is 0.22 (\(\pm\) 0.135).
Last update was 2020-07-30
## R version 3.5.1 (2018-07-02)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.6
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] plotly_4.9.0 gganimate_1.0.6 fields_10.3
## [4] maps_3.3.0 spam_2.2-2 dotCall64_1.0-0
## [7] RColorBrewer_1.1-2 xts_0.12-0 zoo_1.8-6
## [10] forcats_0.4.0 stringr_1.4.0 dplyr_0.8.3
## [13] purrr_0.3.3 readr_1.3.1 tidyr_1.0.0
## [16] tibble_2.1.3 tidyverse_1.3.0 ggplot2_3.2.1
## [19] rgdal_1.4-4 maptools_0.9-5 raster_2.9-23
## [22] sp_1.3-1 ncdf4_1.16.1 sf_0.7-4
##
## loaded via a namespace (and not attached):
## [1] nlme_3.1-140 fs_1.3.1 lubridate_1.7.4
## [4] progress_1.2.2 httr_1.4.1 tools_3.5.1
## [7] backports_1.1.5 R6_2.4.1 KernSmooth_2.23-15
## [10] mgcv_1.8-28 rgeos_0.4-3 DBI_1.0.0
## [13] lazyeval_0.2.2 colorspace_1.4-1 withr_2.1.2
## [16] tidyselect_0.2.5 prettyunits_1.0.2 compiler_3.5.1
## [19] cli_2.0.1 rvest_0.3.5 Cairo_1.5-10
## [22] xml2_1.2.2 labeling_0.3 scales_1.1.0
## [25] classInt_0.3-3 digest_0.6.23 foreign_0.8-71
## [28] rmarkdown_1.16 pkgconfig_2.0.3 htmltools_0.4.0
## [31] fastmap_1.0.1 dbplyr_1.4.2 htmlwidgets_1.3
## [34] rlang_0.4.2 readxl_1.3.1 rstudioapi_0.10
## [37] shiny_1.4.0 generics_0.0.2 farver_2.0.1
## [40] jsonlite_1.6 crosstalk_1.0.0 magrittr_1.5
## [43] Matrix_1.2-17 Rcpp_1.0.3 munsell_0.5.0
## [46] fansi_0.4.1 lifecycle_0.1.0 stringi_1.4.5
## [49] yaml_2.2.0 plyr_1.8.5 promises_1.1.0
## [52] crayon_1.3.4 lattice_0.20-41 splines_3.5.1
## [55] haven_2.2.0 transformr_0.1.2.9000 hms_0.5.3
## [58] magick_2.2 zeallot_0.1.0 knitr_1.25
## [61] pillar_1.4.3 lpSolve_5.6.15 codetools_0.2-16
## [64] reprex_0.3.0 glue_1.3.1 evaluate_0.14
## [67] data.table_1.12.2 modelr_0.1.5 httpuv_1.5.2
## [70] vctrs_0.2.1 tweenr_1.0.1 cellranger_1.1.0
## [73] gtable_0.3.0 assertthat_0.2.1 xfun_0.8
## [76] mime_0.7 xtable_1.8-4 broom_0.5.2
## [79] e1071_1.7-2 later_1.0.0 class_7.3-15
## [82] viridisLite_0.3.0 units_0.6-3 ellipsis_0.3.0